import request from '@/utils/requestH2'

/* 系统设置 */

/* 资料管理 */

// 获取部门列表
export function selDepartmentListApi(params) {
  return request({
    url: '/system/department/selDepartmentList',
    method: 'GET',
    params
  })
}

// 新增部门
export function addDepartmentApi(data) {
  return request({
    url: '/system/department/addDepartment',
    method: 'POST',
    data
  })
}

// 根据id修改部门
export function updateDepartmentApi(data) {
  return request({
    url: `/system/department/updateDepartmentById/${data.id}`,
    method: 'PUT',
    data: {
      coding: data.coding, // 编码
      name: data.name, // 名称
      remark: data.remark // 备注
    }
  })
}

// 根据ids删除部门
export function deleteDepartmentApi(id) {
  return request({
    url: `/system/department/delDepartmentById/${id}`,
    method: 'DELETE'
  })
}

/* 供货商 */

// 获取供货商列表
export function selSupplierListApi(params) {
  return request({
    url: '/system/supplier/selSupplierList',
    method: 'GET',
    params
  })
}

// 新增供货商
export function addSupplierApi(data) {
  return request({
    url: '/system/supplier/addSupplier',
    method: 'POST',
    data
  })
}

// 根据id修改供货商
export function updateSupplierApi(data) {
  return request({
    url: `/system/supplier/updateSupplierById/${data.id}`,
    method: 'PUT',
    data: {
      contacts: data.contacts, // 联系人
      customize_1: data.customize_1,
      customize_2: data.customize_2,
      mobile: data.mobile, // 手机号
      name: data.name, // 名称
      no: data.no, // 编号
      supplierTypeId: data.supplierTypeId // 供货商类型
    }
  })
}

// 根据ids删除供货商
export function deleteSupplierApi(id) {
  return request({
    url: `/system/supplier/delSupplierById/${id}`,
    method: 'DELETE'
  })
}

// 根据id修改供货商状态
export function updateSupplierStatusByIdApi(params) {
  return request({
    url: `/system/supplier/updateSupplierStatusById/${params.id}`,
    method: 'PUT',
    params: {
      status: params.status
    }
  })
}

// 供货商类别列表查询
export function selSupplierTypeListApi(params) {
  return request({
    url: '/system/supplierType/selSupplierTypeList',
    method: 'GET',
    params
  })
}

// 新增供货商类别
export function addSupplierTypeApi(data) {
  return request({
    url: '/system/supplierType/addSupplierType',
    method: 'POST',
    data
  })
}

// 根据id修改供货商类别
export function updateSupplierTypeApi(data) {
  return request({
    url: `/system/supplierType/updateSupplierTypeById/${data.id}`,
    method: 'PUT',
    data: {
      name: data.name // 名称
    }
  })
}

// 根据ids删除供货商类别
export function deleteSupplierTypeApi(id) {
  return request({
    url: `/system/supplierType/delSupplierTypeById/${id}`,
    method: 'DELETE'
  })
}

/* 职员 */

// 获取职员列表
export function selStaffListApi(params) {
  return request({
    url: '/system/user/selUserList',
    method: 'GET',
    params
  })
}

// 新增职员
export function addUserApi(data) {
  return request({
    url: '/system/user/addUser',
    method: 'POST',
    data
  })
}

// 根据id修改职员
export function updateUserByIdApi(data) {
  return request({
    url: `/system/user/updateUserById/${data.id}`,
    method: 'PUT',
    data: {
      createTime: data.createTime, // 创建时间
      loginName: data.loginName, // 登录名
      mobile: data.mobile, // 手机号
      name: data.name, // 名称
      parentId: data.parentId, // 父级id
      password: data.password, // 密码
      sex: data.sex // 性别
    }
  })
}

// 根据ids删除职员
export function deleteUserByIdApi(id) {
  return request({
    url: `/system/user/delUserById/${id}`,
    method: 'DELETE'
  })
}

/* 仓库 */

// 获取仓库列表
export function selWarehouseListApi(params) {
  return request({
    url: '/system/warehouse/selWarehouseList',
    method: 'GET',
    params
  })
}

// 新增仓库
export function addWarehouseApi(data) {
  return request({
    url: '/system/warehouse/addWarehouse',
    method: 'POST',
    data
  })
}

// 根据id修改仓库
export function updateWarehouseByIdApi(data) {
  return request({
    url: `/system/warehouse/updateWarehouseById/${data.id}`,
    method: 'PUT',
    data: {
      name: data.name, // 名称
      no: data.no, // 编号
      warehouseUserId: data.warehouseUserId // 仓库管理员
    }
  })
}

// 根据ids删除仓库
export function delWarehouseByIdApi(id) {
  return request({
    url: `/system/warehouse/delWarehouseById/${id}`,
    method: 'DELETE'
  })
}

// 单位列表查询
export function selUnitListApi(params) {
  return request({
    url: '/system/unit/selUnitList',
    method: 'GET',
    params
  })
}

// 新增单位
export function addUnitApi(data) {
  return request({
    url: '/system/unit/addUnit',
    method: 'POST',
    data
  })
}

// 根据id修改单位
export function updateUnitByIdApi(data) {
  return request({
    url: `/system/unit/updateUnitById/${data.id}`,
    method: 'PUT',
    data: {
      name: data.name // 名称
    }
  })
}

// 根据ids删除单位
export function delUnitByIdApi(id) {
  return request({
    url: `/system/unit/delUnitById/${id}`,
    method: 'DELETE'
  })
}

/* 菜单 */

// 菜单功能列表查询
export function selMenuListApi(params) {
  return request({
    url: '/system/menu/selMenuList',
    method: 'GET',
    params
  })
}

// 根据id查询菜单功能列表
export function selMenuByIdApi(params) {
  return request({
    url: '/system/menu/selMenuById',
    method: 'GET',
    params
  })
}

// 新增菜单功能页面
export function addMenuApi(data) {
  return request({
    url: '/system/menu/addMenu',
    method: 'POST',
    data
  })
}

// 根据id编辑菜单功能
export function updateMenuByIdApi(data) {
  return request({
    url: `/system/menu/updateMenuById/${data.id}`,
    method: 'PUT',
    data: {
      isClose: data.isClose, // 是否关闭
      isShow: data.isShow, // 是否显示
      name: data.name, // 名称
      url: data.url // 链接
    }
  })
}

// 根据ids删除菜单
export function delMenuByIdsApi(data) {
  return request({
    url: '/system/menu/delMenuByIds',
    method: 'DELETE',
    data
  })
}

// 根据id关闭菜单
export function downMenuByIdApi(id) {
  return request({
    url: `/system/menu/downMenuById/${id}`,
    method: 'GET'
  })
}

/* 角色 */

// 角色列表查询
export function selRoleListApi(params) {
  return request({
    url: '/system/role/selRoleList',
    method: 'GET',
    params
  })
}

// 新增角色
export function addRoleApi(data) {
  return request({
    url: '/system/role/addRole',
    method: 'POST',
    data
  })
}

// 删除角色
export function delRoleByIdsApi(data) {
  return request({
    url: '/system/role/delRoleByIds',
    method: 'POST',
    data
  })
}

// 根据id查询角色详情
export function selRoleByIdApi(id) {
  return request({
    url: `/system/role/selRoleById/${id}`,
    method: 'GET'
  })
}

// 根据id编辑角色信息
export function updateRoleByIdApi(data) {
  return request({
    url: `/system/role/updateRoleById/${data.id}`,
    method: 'PUT',
    data: {
      isDelete: data.isDelete,
      name: data.name,
      number: data.number,
      remark: data.remark
    }
  })
}

// 根据id编辑角色信息
// export function updateRoleByIdApi(params) {
//   return request({
//     url: `/system/role/updateRoleById/${params.id}`,
//     params: {
//       isDelete: params.isDelete,
//       name: params.name,
//       number: params.number,
//       remark: params.remark,
//     },
//   });
// }

// 根据id新增角色显示菜单
export function addRoleMenuApi(data) {
  return request({
    url: '/system/roleMenu/addRoleMenu',
    method: 'POST',
    data
  })
}

// 根据id删除角色显示菜单
export function delRoleMenuByIdApi(params) {
  return request({
    url: `/system/roleMenu/delRoleMenuById/${params.roleId}/${params.menuId}`,
    method: 'DELETE'
  })
}

// 角色功能页面根据角色id查询菜单列表
export function selRoleMenuListByRoleIdApi(roleId) {
  return request({
    url: `/system/roleMenu/selRoleMenuListByRoleId`,
    method: 'GET',
    params: {
      roleId
    }
  })
}

// 根据用户id查询角色列表
export function selUserRoleListByUserIdApi(userId) {
  return request({
    url: `/system/userRole/selUserRoleListByUserId/${userId}`,
    method: 'GET'
  })
}

// 新增用户角色
export function addUserRoleApi(data) {
  return request({
    url: '/system/userRole/addUserRole',
    method: 'POST',
    data
  })
}

// 根据用户id删除用户角色
export function delUserRoleByIdApi(data) {
  return request({
    url: `/system/userRole/delUserRoleById/${data.userId}/${data.roleId}`,
    method: 'DELETE'
  })
}

